#pragma once
#include "pch.h"

#include <wrl/client.h>
#include <d3d11_1.h>

using namespace Windows::ApplicationModel::Core;
using namespace Windows::UI::Core;
using namespace Microsoft::WRL;
// - ComPtr
using namespace Windows::Foundation;

ref class Direct3DApplication sealed
{
internal:
	Direct3DApplication();

public:
	virtual void Initialize(CoreWindow^ window);
	virtual void CreateDeviceAndSwapChain();

protected private:
	ComPtr<ID3D11Device1> d3dDevice;
	ComPtr<ID3D11DeviceContext1> d3dContext;
	ComPtr<IDXGISwapChain1> dxgiSwapChain;
	ComPtr<ID3D11RenderTargetView> d3dRenderTargetView;
	ComPtr<ID3D11DepthStencilView> d3dDepthStencilView;

	CoreWindow^ coreWindow;
};